#ifndef GEOM_EXCEPTION_H
#define GEOM_EXCEPTION_H

#include <exception>
#include <string>
namespace geom
{
    /** Exception used for any geometry-related error condition */
    class GeomException : public std::exception
    {
        public:
            /**Exception constructor
              @param __str Message of the exception
             */
            explicit
                GeomException(const std::string __str) throw() : _M_msg(__str){};
            /** */
            virtual ~GeomException() throw(){};
            /** Returns the exception message */
            virtual const char*
                what() const throw(){ return _M_msg.c_str();}

        private:
            /** The exception message */
			std::string _M_msg;
    };
}

#endif
